if (GTK_IS_CONTAINER (widget))
{
- data->parent_sensitive = gtk_widget_is_sensitive (widget);
+ GtkStateData child_data = *data;
+
+ child_data.parent_sensitive = gtk_widget_is_sensitive (widget);
/* Do not propagate focused state further */
- data->flags &= ~GTK_STATE_FLAG_FOCUSED;
+ child_data.flags &= ~GTK_STATE_FLAG_FOCUSED;
- if (data->use_forall)
+ if (child_data.use_forall)
gtk_container_forall (GTK_CONTAINER (widget),
(GtkCallback) gtk_widget_propagate_state,
- data);
+ &child_data);
else
gtk_container_foreach (GTK_CONTAINER (widget),
(GtkCallback) gtk_widget_propagate_state,
- data);
+ &child_data);
}
/* Trigger state change transitions for the widget */